跳到主要内容

1.2 正点原子I.MX6U-ALPHA开发板资源说明

  资源说明部分,这两个开发板我们将分为两个部分说明:硬件资源说明和软件资源说明。

1.2.1 I.MX6U-ALPHA硬件资源说明

  这里我们首先详细介绍I.MX6U-ALPHA开发板的各个部分,我们将按逆时针的顺序依次介绍:

  1、CAN接口
  这是开发板板载的CAN总线接口(CAN),通过2个端口和外部CAN总线连接,即CANHCANL。这里提醒大家:CAN通信的时候,必须CANH接CANH,CANL接CANL,否则可能通信不正常!

  2、RS232/485选择接口
  这是开发板板载的RS232(COM3)/485选择接口(JP1),因为RS485基本上就是一个半双工的串口,为了节约IO,我们把RS232(COM3)和RS485共用一个串口,通过JP1来设置当前是使用RS232(COM3)还是RS485。
  这样的设计还有一个好处。就是我们的开发板既可以充当RS232到TTL串口的转换,又可以充当RS485到TTL485的转换。(注意,这里的TTL高电平是3.3V)

  3、I.MX6ULL核心板接口
  这是开发板底板上面的核心板接口,由2个2*30的贴片板对板接线端子(3710F公座)组成,可以用来插正点原子的I.MX6UL/ULL核心板等,从而学习I.MX6UL/6ULL等芯片,达到一个开发板,学习多款SOC的目的,减少重复投资。

  4、RGBLCD接口
  这是转接板自带的RGB LCD接口(LCD),可以连接各种正点原子的RGB LCD屏模块,并且支持触摸屏(电阻/电容屏都可以)。采用的是RGB888格式,可显示1677万色,色彩显示丰富。

  5、后备电池接口
  这是I.MX6UL/ULL后备区域的供电接口,可以用来给I.MX6UL/ULL的后备区域提供能量,在外部电源断电的时候,维持SNVS区域数据的存储,以及RTC的运行。

  6、USB HOST(OTG)
  V2.4版本以前底板有此接口,V2.4及以后版本底板没有此接口了!
  这是开发板板载的一个侧插式的USB-A座(USB_HOST),由于I.MX6U的USB支持OTG功能,所以USB既可作HOST,又可做SLAVE。
  我们可以通过这个USB-A座,连接U盘/USB鼠标/USB键盘等其他USB从设备,从而实现USB主机功能。不过特别注意,由于USB HOST和USB SLAVE是共用一个USB端口,所以两者不可以同时使用。

  7、USB串口/串口1
  这是USB串口同I.MX6U的串口1进行连接的接口(JP5),标号RXD和TXD是USB转串口的2个数据口(对CH340C来说),而U1_TX(TXD)和U1_RX(RXD)则是I.MX6U串口1的两个数据口。他们通过跳线帽对接,就可以连接在一起了,从而实现I.MX6U的串口通信。
  设计成USB串口,是出于现在电脑上串口正在消失,尤其是笔记本,几乎清一色的没有串口。所以板载了USB串口可以方便大家调试。
  而在板子上并没有直接连接在一起,则是出于使用方便的考虑。这样设计,你可以把I.MX6U-ALPHA开发板当成一个USB转TTL串口,来和其他板子通信,而其他板子的串口,也可以方便地接到开发板上。

  8、USB SLAVE(OTG)
  ①、V2.4版本以前底板
  这是开发板板载的一个MiniUSB头(USB_SLAVE),用于USB从机(SLAVE)通信,与上面的USB HOST一起作为OTG功能。通过此MiniUSB头,开发板就可以和电脑进行USB通信了。注意:该接口不能和USB HOST同时使用。
  开发板总共板载了两个MiniUSB头,一个(USB_TTL)用于USB转串口,连接CH340C芯片;另外一个(USB_SLAVE)用于I.MX6U内部USB。同时开发板可以通过此MiniUSB头供电,板载两个MiniUSB头(不共用),主要是考虑了使用的方便性,以及可以给板子提供更大的电流(两个USB都接上)这两个因素。
  ②、V2.4及以后版本底板
  这是开发板板载的一个Type-C接口,用于USB OTG通信。通过此Type-C接口,开发板就可以和电脑进行USB通信了,实现OTG功能
  开发板总共板载了两个Type-C接口,一个(USB_TTL)用于USB转串口,连接CH340C芯片;另外一个用于I.MX6U内部USB。

  9、USB转串口
  这是开发板板载的一个USB转串口接口,用于USB连接CH340C芯片,从而实现USB转串口。同时,此接头也是开发板的电源提供口,V2.4版本一般的底板此接口使用Mini USB,在V2.4及以后版本底板采用Type-C接口。

  10、摄像头模块接口
  这是开发板板载的一个摄像头模块接口(P1),摄像头模块(需自备),对准插入到此插槽中。

  11、启动(BOOT)拨码开关
  I.MX6U支持多种启动方式,比如SD卡、EMMC、NAND、QSPI FALSH和USB等,要想从某一种设备启动就必须先设置好启动拨码开关。
  I.MX6U-ALPHA开发板用了一个8P的拨码开关来选择启动方式,正点原子开发板支持从SD卡、EMCM、NAND和USB这四种启动方式,这四种启动方式对应的拨码开关拨动方式已经写在了开发板上。大家在使用的时候根据自己的实际需求设置拨码开关即可。

  12、TF卡接口
  这是开发板板载的一个标准TF卡接口(TF_CARD),该接口在开发板的背面,采用小型的TF卡接口,USDHC方式驱动,有了这个TF卡接口,就可以满足海量数据存储的需求。

  13、光环境传感器
  这是开发板板载的一个光环境三合一传感器(U9),它可以作为:环境光传感器、近距离(接近)传感器和红外传感器。通过该传感器,开发板可以感知周围环境光线的变化,接近距离等,从而可以实现类似手机的自动背光控制。

  14、蜂鸣器
  这是一个有源蜂鸣器,通过高低电平控制蜂鸣器的开关。

  15、SDIO WIFI接口
  这是开发板上的一个SDIO WIFI(P4)接口,可以通过此接口连接正点原子出品的SDIO WIFI模块。SDIO WIFI接口和TF卡共用一个USDHC接口,因此不能同时和TF卡使用。

  16、ATK模块接口
  这是开发板板载的一个正点原子通用模块接口(JP2),目前可以支持正点原子开发的GPS模块、蓝牙模块、MPU6050模块、激光测距模块和手势识别模块等,直接插上对应的模块,就可以进行开发。
  后续我们将开发更多兼容该接口的其他模块,实现更强大的扩展性能。

  17、左右声道喇叭接口
  开发板板载了一个高性能的音频解码芯片WM8960,此芯片可以驱动左右声道2个8Ω,1W的小喇叭,这两个接口用于外接两个左右声道小喇叭。
  不过在I.MX6U-ALPHA开发板的背面已经默认焊接了一个小喇叭,这个小喇叭接到了右声道上,因此如果要在此接口的右声道上外接小喇叭,那么必须先将开发板上自带的喇叭拆掉,否则WM8960驱动能力可能不足。

  18、耳机输出接口
  这是开发板板载的音频输出接口(PHONE),该接口可以插3.5mm的耳机,当WM8960放音的时候,就可以通过在该接口插入耳机,欣赏音乐。
  此接口支持耳机插入检测,如果耳机不插入的话默认通过喇叭播放音乐,如果插入耳机的话就关闭喇叭,通过耳机播放音乐。

  19、录音输入接口
  这是开发板板载的外部录音输入接口(LINE_IN),通过咪头我们只能实现单声道的录音,而通过这个LINE_IN,我们可以实现立体声录音。

  20、复位按键
  这是开发板板载的复位按键(RESET),用于复位I.MX6U,还具有复位液晶的功能,因为液晶模块的复位引脚和I.MX6U的复位引脚是连接在一起的,当按下该键的时候,I.MX6U和液晶一并被复位。

  21、用户按键KEY
  这是开发板板载的1个机械式输入按键(KEY0),可以做为普通按键输入使用。

  22、红色用户LED灯
  这是开发板板载的1个LED灯,为红色,用户可以使用此LED灯。在调试代码的时候,使用LED来指示程序状态,这是非常不错的一个辅助调试方法。

  23、蓝色电源指示LED灯
  这是开发板电源指示LED灯,为蓝色,当板子供电正常的时候此灯就会常亮。如果此灯不亮的话就说明开发板供电有问题(排除LED灯本身损坏的情况)。

  24、WM8960音频DAC
  这是一颗欧胜公司出品的音频DAC芯片,用于实现音乐播放与录音。

  25、MIC(咪头)
  这是开发板的板载录音输入口(MIC),该咪头直接接到WM8960的输入上,可以用来实现录音功能。

  26、Nano SIM卡接口
  这是开发板上的Nano SIM卡接口,如果要使用4G模块的话就需要在此接口中插入Nano SIM卡。

  27、ICM20608六轴传感器
  这是开发板板载的一个六轴传感器芯片(U6),型号为ICM20608,此芯片采用SPI接口与I.MX6U相连接。
  ICM20608内部集成1个三轴加速度传感器和1个三轴陀螺仪,该传感器在姿态测量方面应用非常广泛。所以喜欢玩姿态测量的朋友,也可通过本开发板进行学习。

  28、Mini PCIE 4G接口
  这是开发板板载的一个Mini PCIE座,但是本质上走的USB协议,通过此接口可以连接4G模块,比如高新兴物联的ME3630
  接上4G模块以后I.MX6U-ALPHA开发板就可以实现4G上网功能,对于不方便布网线或者没有WIFI的场合来说是个不错的选择。

  29、DC6~16V电源输入   这是开发板板载的一个外部电源输入口(DC_IN),采用标准的直流电源插座。开发板板载了DC-DC芯片(JW5060T),用于给开发板提供高效、稳定的5V电源。
  由于采用了DC-DC芯片,所以开发板的供电范围十分宽,大家可以很方便的找到合适的电源(只要输出范围在DC6~16V的基本都可以)来给开发板供电。
  在耗电比较大的情况下,比如用到4.3屏/7寸屏/网口的时候,建议使用外部电源供电,可以提供足够的电流给开发板使用。

  30、电源开关
  这是开发板板载的电源开关(K1)。该开关用于控制整个开发板的供电。这是一个两段式拨动开关,拨到右边关闭开发板电源,整个开发板都将断电,电源指示灯(PWR)会随之熄灭。
  拨到右边打开开发板电源,整个板子开始供电,电源指示灯(PWR)点亮。

  31、5V电源输入/输出
  这是开发板板载的一组5V电源输入输出排针(2*3)(VOUT2),该排针用于给外部提供5V的电源,也可以用于从外部接5V的电源给板子供电。
  同样大家在实验的时候可能经常会为没有5V电源而苦恼不已,正点原子充分考虑到了大家需求,有了这组5V排针,你就可以很方便的拥有一个简单的5V电源(USB供电的时候,最大电流不能超过500mA,外部供电的时候,最大可达3000mA)。

  32、3.3V电源输入/输出   这是开发板板载的一组3.3V电源输入输出排针(2*3)(VOUT1),用于给外部提供3.3V的电源,也可以用于从外部接3.3V的电源给板子供电。
  大家在实验的时候可能经常会为没有3.3V电源而苦恼不已,有了I.MX6U-ALPHA开发板,你就可以很方便的拥有一个简单的3.3V电源(最大电流不能超过3000mA)。

  33、3路USB HOST接口
  这是开发板板载的3路USB HOST接口,I.MX6U有两个USB接口,正点原子的I.MX6U-ALPHA开发板通过GL850芯片将I.MX6U的USB2扩展成了4路USB HOST,其中一路用于连接4G模块,另外3路作为USB HSOT,用户可以通过这三路USB HOST接口连接USB鼠标、USB键盘、U盘等设备。

  34、引出的IO口
  这是开发板IO引出端口JP6,采用2*16排针,总共引出31个IO口。

  35、以太网接口1(RJ45)
  I.MX6U有两个网络接口:ENET1和ENET2,这是ENET1网络接口,可以用来连接网线,实现网络通信功能。该接口使用I.MX6U内部的MAC控制器外加PHY芯片,实现10/100M网络的支持。

  36、以太网接口2(RJ45)
  这是开发板板载的以太网接口2,也就是I.MX6U的ENET2网络接口。

  37、RS232接口(母)
  这是开发板板载的另外一个RS232接口(COM3),通过一个标准的DB9母头和外部的串口连接。通过这个接口,我们可以连接带有串口的电脑或者其他设备,实现串口通信

  38、RS485接口
  这是开发板板载的RS485总线接口(RS485),通过2个端口和外部485设备连接。这里提醒大家,RS485通信的时候,必须A接A,B接B。否则可能通信不正常

1.2.2 I.MX6U-ALPHA软件资源说明

  上面我们详细介绍了正点原子I.MX6U-ALPHA开发板的硬件资源。接下来,我们将向大家简要介绍一下I.MX6U-ALPHA开发板的软件资源。

  软件资源分为3部分:Linux系统驱动软件资源、裸机例程、Linux驱动例程,我们依次来看一下这三类软件资源的情况。关于Linux系统软件资源如下表所示:

类型描述备注
ubootuboot版本为2016.03提供源码。
支持LCD显示、支持SD卡和EMMC、支持网络、支持NAND Flash、支持环境变量修改等。
Linux内核内核版本为4.1.15提供源码
根文件系统rootfs提供busybox、buildroot、yocto、ubuntu这四种根文件系统及其制作方法提供详细的制作教程
QT5根文件系统QT版本为5.6.1提供详细的教程
交叉编译器arm-linux-gnueaihf,版本4.9.4提供软件
系统烧写方法MFGTOOL和SD卡两种提供详细的使用教程
LCD驱动RGB LCD驱动提供源码
触摸FT5xx6、GT9147等电容触摸屏(仅限正点原子在售)提供源码
485RS485 驱动提供源码
232RS232驱动提供源码
CANCAN驱动提供源码
网络PHY为LAN8720或SR8201F提供源码
USB HOSTUSB HUB为GL850或SL2.1A提供源码
USB OTGUSB从机和主机提供源码
4G无线ME3630 4G模块提供源码
按键KEYGPIO提供源码
LEDGPIO提供源码
音频音频DAC为WM8960提供源码
SDIO WIFI正点原子RTL8189模块提供源码
GPS正点原子GPS模块提供源码
环境光传感器(IIC)AP3216C,IIC接口提供源码
六轴传感器(SPI)ICM20608,SPI接口提供源码
TF卡/EMMCUSDHC驱动提供源码
摄像头OV5640驱动提供源码
串口UART1驱动提供源码
PWM背光LCD PWM背光提供源码
RTCI.MX6U内部RTC提供源码
USB WIFIRTL8188提供源码

  接下来看一下I.MX6U-ALPHA开发板的裸机例程,如下表所示:

编号实验名字编号实验名字
1leds12highpreci_delay
2ledc13uart
3ledc_stm3214printf
4ledc_sdk15ddr3
5ledc_bsp16lcd
6beep17rtc
7key18i2c
8clk19spi
9int20touchscreen
10epit_timer21pwm_lcdbacklight
11key_filter

  从上表可以看出,正点原子的I.MX6U-ALPHA开发板裸机例程似乎不是很多,不像STM32、RT1052那样六七十个裸机例程,这是因为嵌入式Linux和单片机的开发方式以及应用场合不同。

  单片机学名叫做Microcontroller,也就是微控制器,主要用于控制相关的应用,因此单片机的外设都比较多,比如很多路的IIC、SPI、UART、定时器等等。

  嵌入式Linux开发主要注重于高端应用场合,比如音视频处理、网络处理等等。比如一个机器人,高性能处理器加Linux系统(或者其他系统)作为机器人的大脑,主要负责接收各个传感器采集的数据然后对原始数据进行处理,得到下一步执行指令,这个往往需要很高的性能。

  当处理完成得到下一步要做的动作之后大脑就会将数据发给控制机器人各个关节电机的驱动控制器,这些驱动控制器一般都是单片机做的。

  所以大家在学习嵌入式Linux开发的时候一定不要深陷裸机,我们之所以讲解裸机是为了给嵌入式Linux打基础,让大家了解所使用的SOC、了解GCC那一套工作流程,最终的目的都是为了嵌入式Linux做准备的。

  看完裸机例程以后我们最后再来看一下正点原子为I.MX6U-ALPHA开发板准备的嵌入式Linux驱动例程,如下表所示:

编号实验名字编号实验名字
1chrdevbase13irq
2led14blockio
3newchrled15noblockio
4dtsled16asyncnoti
5gpioled17platform
6beep18dtsplatform
7atomic19miscbeep
8spinlock20input
9semaphore21iic
10mutex22spi
11key23multitouch
12timer

1.2.3 I.MX6ULL核心板硬件资源说明

  核心板资源参考前面核心板图片中的标注部分,我们将按逆时针的顺序依次介绍:

  1. 核心板电源指示灯
  这是核心板板载的一个蓝色LED灯,用于指示核心板供电是否正常,如果核心板供电正常的话此灯就会点亮。

  2. NAND/EMMC存储芯片
  这是核心板上板载的存储芯片,分为NAND和EMMC两种。对于NAND版本的核心板共有256MB和512MB两种容量的NAND,型号分别为MT29F2G08ABAEAWP-ITMT29F4G08ABADAWP-IT,这两种型号的NAND FLASH工作温度范围都为工业级。EMMC版本的核心板使用8GB的EMMC,型号为KLM8G1GET

  3. DDR3L芯片
  这是核心板板载的DDR3L芯片,NAND版本核心板的DDR3L容量为256MB,EMMC版本的核心板的DDR3L容量为512MB。型号分别为NT5CC128M16JR-EKNT5CC256M16EP-EK。如果要用于UI开发,那么最好选择512MB的DDR3L,当然了,正点原子的I.MX6U核心板支持定制,具体定制方法请联系销售。

  4. CPU
  这是核心板的CPU,型号为MCIMX6Y2CVM08ABMCIMX6Y2CVM08AB主频为800MHz(实际792MHz)。
  该芯片采用Coretx-A7内核,自带32KB的L1指令Cache、32KB的L1数据Cache、128KB的L2Cache、集成NEON和SIMDv2、支持硬件浮点(FPU)计算单元,浮点计算架构为VFPv4-D32、1个RGB LCD接口、2个CAN接口、2个10M/100M网络接口、2个USB OTG接口(USB2.0)、2路ADC、8个串口、3个SAI、4个定时器、8路PWM、4路I2C接口、4路SPI接口、一路CSI摄像头接口、2个USDHC接口,支持4位SD卡,最高可以支持UHS-I SDR 104模式,支持1/4/8位的EMMC,最高可达HS200模式、一个外部存储接口、支持16位的LPDDR2-800、DDR3-800和DDR3L-800、支持8位的MLC/SLC NAND Flash,支持2KB、4KB和8KB页大小,以及124个通用IO口等。

  5. 32.768KHz晶振
  这是一个无源的32.768KHz晶振,供I.MX6U内部RTC使用。

  6. 24MHz晶振
  这是一个无源的24MHz晶振,供I.MX6U使用。

  另外,I.MX6U核心板的接口在底部,通过两个2*30的板对板端子(3710M母座)组成,总共引出了104个IO,通过这个接口,可以实现与I.MX6U-ALPHA底板对接。